package com.d3works.apps.contract.module;

import com.d3works.app.D3worksModule;
import com.d3works.apps.contract.db.repo.AbstractContractRepository;
import com.d3works.apps.contract.db.repo.ContractBatchContractRepository;
import com.d3works.apps.contract.db.repo.ContractBatchRepository;
import com.d3works.apps.contract.db.repo.ContractRepository;
import com.d3works.apps.contract.service.ConsumptionLineService;
import com.d3works.apps.contract.service.ConsumptionLineServiceImpl;
import com.d3works.apps.contract.service.ContractLineService;
import com.d3works.apps.contract.service.ContractLineServiceImpl;
import com.d3works.apps.contract.service.ContractService;
import com.d3works.apps.contract.service.ContractServiceImpl;
import com.d3works.apps.contract.service.ContractVersionService;
import com.d3works.apps.contract.service.ContractVersionServiceImpl;

public class ContractModule extends D3worksModule {

  @Override
  protected void configure() {
    bind(AbstractContractRepository.class).to(ContractRepository.class);
    bind(ContractService.class).to(ContractServiceImpl.class);
    bind(ContractVersionService.class).to(ContractVersionServiceImpl.class);
    bind(ContractLineService.class).to(ContractLineServiceImpl.class);
    bind(ConsumptionLineService.class).to(ConsumptionLineServiceImpl.class);
    bind(ContractBatchRepository.class).to(ContractBatchContractRepository.class);
  }
}
